package com.sh.data.engine.domain.annotation.userlog;

import com.fasterxml.jackson.annotation.JsonFormat;

/**
 * @author huaide.wyh
 */
@JsonFormat(shape = JsonFormat.Shape.OBJECT)
public enum Business {
    /**
     * 一级菜单对应ID
     */
    登录("平台", "系统访问"),
    注销("平台", "系统访问"),

    数据Owner("规范设计-数据调研", "数据Owner"),
    数据源("规范设计-数据调研", "数据源管理"),
    主题域("规范设计-数据调研", "主题域"),
    模型设计("规范设计-模型设计", "模型设计"),
    总线矩阵("规范设计-模型设计", "模型设计-总线矩阵"),
    公共模型("规范设计-模型设计", "模型设计-公共模型"),
    应用模型("规范设计-模型设计", "模型设计-应用模型"),
    其他模型("规范设计-模型设计", "模型设计-其他模型"),
    维度列("规范设计-模型设计", "模型设计-总线矩阵-维度列"),
    事实列("规范设计-模型设计", "模型设计-总线矩阵-事实列"),
    模型目录("规范设计-模型设计", "模型目录"),
    数据标准("规范设计-数据标准", "数据标准"),

    离线同步任务("数据集成", "离线同步任务"),
    离线同步任务目录("数据集成", "目录"),
    文件采集("数据集成", "文件采集"),
    接口采集("数据集成", "接口采集"),
    接口采集配置("数据集成", "接口采集-接口采集配置"),
    自定义表单("数据集成", "自定义表单"),


    离线开发工作流("数据开发-离线计算", "工作流-任务"),
    离线开发脚本任务("数据开发-离线计算", "脚本-节点"),
    离线开发elt工作流("数据开发-离线计算", "工作流-任务"),
    离线开发资源节点("数据开发-离线计算", "资源-节点"),
    离线开发函数节点("数据开发-离线计算", "开始-节点"),
    离线开发同步任务("数据开发-离线计算", "离线同步-节点"),
    离线开发接口采集("数据开发-离线计算", "离线接口采集-节点"),
    离线开发系统函数节点("数据开发-离线计算", "函数函数-节点"),
    离线开发任务流节点("数据开发-离线计算", "节点"),
    离线开发计算结果("数据开发-离线计算", "任务-结果"),
    离线开发任务调度配置("数据开发-离线计算", "任务-调度配置"),
    离线开发目录("数据开发-离线计算", "目录"),
    离线开发上下游依赖("数据开发-离线计算", "节点-上下游依赖"),
    离线开发工作流节点("数据开发-离线计算", "节点"),
    离线开发工作流节点配置("数据开发-离线计算", "节点-配置"),
    离线开发数据质量("数据开发-离线计算", "数据质量"),
    离线开发任务("数据开发-离线计算", "任务"),
    指标目录("指标管理", "目录"),
    指标管理("指标管理", "指标任务"),
    指标开发("指标管理", "指标开发"),
    数据质量("数据质量", "质量规则"),
    数据质量调度配置("数据质量", "调度配置"),
    数据质量分区表达式("数据质量", "分区表达式"),
    数据质量规则("数据质量", "质量规则"),
    数据服务("数据服务", "API"),
    数据服务标签("数据服务", "标签"),
    数据服务目录("数据服务", "目录"),
    数据资产数据地图("数据资产-数据地图", "资产"),
    数据资产全域数据("数据资产-全域数据", "资产"),
    个人中心("个人中心", "账户"),
    告警配置("告警中心", "告警配置"),
    对象存储bucket("存储管理", "对象存储bucket"),
    对象存储bucket目录("存储管理", "对象存储bucket目录"),

    数据权限("权限管理-数据权限", "数据权限"),
    用户空间("用户管理-账号管理", "用户"),
    空间角色("用户管理-角色管理", "角色"),
    门户("用户空间-门户设置", "门户"),
    密级("权限管理-密级设置", "密级"),
    证书("系统中心", "证书"),
    邮箱("邮箱设置", "邮箱"),
    钉钉("钉钉设置", "钉钉"),
    空间("空间", "空间"),
    文件("file", "文件"),

    存储("空间设置", "存储"),

    /**
     * 主数据使用MainDataTblIdMapping表保存对应的hiveTableId再使用hiveService得到表的<br>
     * vo中使用mappingId先得到那条记录在得到hive的表id 对应的tableInfoDomain
     */

    实时任务("数据开发-实时计算", "实时任务"),
    实时任务函数("数据开发-实时计算", "实时任务函数"),
    实时任务资源("数据开发-实时计算", "实时任务资源"),
    实时任务脚本("数据开发-实时计算", "实时任务脚本"),

    项目导入("发布中心", "项目导入"),
    项目导出("发布中心", "项目导出"),

    实时采集任务("数据集成-实时同步", "实时采集任务"),
    实时采集任务目录("数据集成-实时同步", "实时采集任务目录"),
    用户中心("个人中心", "账户"),

    分级分类("安全中心-数据分级分类", "分级分类"),

    敏感数据识别("安全中心-敏感数据识别","敏感数据识别"),


    风险识别管理("安全中心-风险识别管理","风险识别管理");


    Business(String menuCode, String name) {
        this.name = name;
        this.menuCode = menuCode;
    }

    private String menuCode;
    private String name;

    public String getMenuCode() {
        return menuCode;
    }

    public String getName() {
        return name;
    }
}
